package com.hp.webfluxclient.controller;

import com.hp.webfluxclient.api.IUserApi;
import com.hp.webfluxclient.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;

/**
 *
 *
 *
 * @date	   19/07/22
 */
@RestController
public class UserController {

    // 直接调用定义的接口
    @Autowired
    IUserApi userApi;

    @GetMapping("/")
    public void test() {


        // 测试信息提取
        // 不订阅，不会实际发出请求，但是会进入代理类
//        userApi.findAllUser();
//        userApi.getUserById("111111");
//        userApi.delById("22222");
//
//        userApi.createUser(Mono.just(User.builder().id("222222").name("王五").age(20).build()));

        // 实现调用rest的效果
        Flux<User> allUser = userApi.findAllUser();

        allUser.subscribe(System.out::println);
    }
}
